package com.mrtan.mapper;

import com.mrtan.bean.Warehouse;
//import com.mrtan.vo.WarehouseVO;
import com.mrtan.vo.WarehouseMonthCountVO;
import com.mrtan.vo.WarehouseVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Mr.Tan
 * @description 针对表【warehouse(仓库)】的数据库操作Mapper
 * @createDate 2023-12-04 11:12:04
 * @Entity com.mrtan.bean.Warehouse
 */
public interface WarehouseMapper {

    int deleteByPrimaryKey(Integer id);

    int insert(Warehouse record);

    int insertSelective(Warehouse record);

    Warehouse selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Warehouse record);

    int updateByPrimaryKey(Warehouse record);

    List<Warehouse> selectAll();

    List<Warehouse> selectAllWarehouse(WarehouseVO warehouseVO);

    String getWarehouseNames(Integer id);

    List<String> getAllWarehouseNames();

    Integer getTotalCount(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getProductCount(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getInandoutCount(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByProduct(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByStock(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalQuantityByWarehouse(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalQuantityByWarehouseAndDate(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByWarehouseAndDate(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByWarehouseAndDates(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalRevenueByWarehouseAndDate(WarehouseMonthCountVO warehouseMonthCountVO);

}
